In recent years, there has been developed a system in which the number of computation nodes exceeds 100 thousand nodes, for the purpose of high performance in a parallel computation apparatus system (hereinafter, referred to as a high performance computing (HPC) system) which is an information processing system.
In such a system, an enormous amount of power (for example, 50 (MW) or more for each time) is consumed upon processing in a case of performing exa floating-point number operations per second (EFLOPS) scale processing. Thus, a developer of the system (hereinafter, simply referred to as a developer) may have to perform system building, job performance control, and the like after considering power saving upon execution of various programs in the system.
Japanese National Publication of International Patent Application No. 2014-527248, Japanese Laid-open Patent Publication No. 2008-040734, Japanese Laid-open Patent Publication No. 2007-305148, Japanese Laid-open Patent Publication No. 2013-242604, and Japanese Laid-open Patent Publication No. 2004-182512 are examples of the related art.
As a technique for achieving power saving in such a system (hereinafter, referred to as a target system), there is known, for example, a technique that uses a dynamic voltage and frequency scaling (DVFS) function to reduce power consumption. The DVFS is a function that controls either an operating voltage or a clock frequency (hereinafter, referred to as an operating frequency) or both thereof of a central processing unit (CPU). Controlling the operating voltage or the operating frequency with use of this function allows changing the amount of power consumption (hereinafter, referred to as energy consumption) of the CPU. Thus, use of this function allows reducing the energy consumption (energy saving) of the target system (for example, an HPC system of a distributed memory type) (hereinafter, a system that manages energy saving in the target system will be referred to as an energy saving management system).
Specifically, energy saving in the target system is achieved by a technique as follows. A system builder or a system manager (hereinafter, collectively referred to as a manager), as a preparation step for operating the target system, executes a plurality of test programs (hereinafter, referred to as sample programs) along with changing the operating frequency of the CPU of the target system to obtain various types of information related to execution of each program. The manager inputs the obtained information into the energy saving management system. Then, the energy saving management system obtains from the obtained information a coefficient used in an estimation formula that estimates the energy consumption of programs other than the test programs and stores the coefficient in, for example, a database.
Meanwhile, in a case of executing a new program in the target system (hereinafter, referred to as first-time execution) upon operation of the target system, a user of the target system (hereinafter, simply referred to as a user) requests a job management program to execute the new program (job that includes the new program) by specifying that the execution corresponds to first-time execution and by adding user-defined identification information that allows unique identification of the new program. A job management system sets the frequency of the CPU to an operating frequency defined by the system for first-time execution (hereinafter, referred to as a default operating frequency) to perform the job including the new program. Accordingly, the energy saving management system may obtain information as to the new program that is of the same type as the information obtained upon execution of the test programs.
Then, the user, in a case of executing the new program for the second and subsequent times, requests the job management system to execute the new program by adding the identification information of the new program. In this case, the energy saving management system extracts from the database various types of information obtained upon first-time execution of the new program using the specified identification information as a key and performs estimation of the operating frequency at which the energy consumption accompanied by execution of the new program is the minimum (hereinafter, referred to as a minimum energy consumption frequency), in which the estimation is based on the coefficient of the estimation formula obtained upon execution of the test programs. The energy saving management system sets the estimated minimum energy consumption frequency in the CPU and executes the new program. Accordingly, the energy saving management system may reduce the energy consumption in a case of executing the new program for the second and subsequent times.
However, in the above method, first-time execution may have to be performed again not only in a case where a program is newly created but also each time a main part of a program is modified. Thus, according to the frequency of modification of the new program, energy saving may not be achieved with respect to the energy consumption accompanied by execution of the new program due to the energy consumption accompanied by the first-time execution.
Therefore, an object of one aspect of the embodiments is to provide a computation apparatus and a frequency determination method that estimate an operating frequency upon execution of a program.